package com.irdstudio.efp.esb.common.constant.dxm;

/**
  * 度小满相关接口公共信息枚举类
  * @author  qiuyf
  * @since 2019年3月12日 下午4:37:29
  * @version 1.0
 */
public class DxmEnum {
	
	/**
	  * 额度调整状态 
	  * @author  qiuyf
	  * @since 2019年3月7日 下午4:42:38
	  * @version 1.0
	 */
	public enum LoanAdjustSts {
		/** 01： 处理中  */
		DEALING("01"), 
		/** 02： 通过     */
		PASS("02"), 
		/** 03： 拒绝     */
		REJECT("03"),
		/** 04：挂起  */
		HANG("04");

		public final String VALUE;

		private LoanAdjustSts(String value) {
			this.VALUE = value;
		}

		public String getVALUE() {
			return VALUE;
		}
	}

	/**
	  * 机构策略码
	  * @author  qiuyf
	  * @since 2019年3月12日 下午4:38:27
	  * @version 1.0
	 */
	public enum OrgStrategyCode {
		/** 机构策略码  10000 ：通过  */
		PASS_10000("10000"), 
		/** 机构策略码  20000 ：处理中  */
		DEALING_20000("20000"), 
		/** 机构策略码  90000 ：拒绝  */
		REJECT_90000("90000");

		public final String VALUE;

		private OrgStrategyCode(String value) {
			this.VALUE = value;
		}
		public String getVALUE() {
			return VALUE;
		}
	}
	
	/**
	  * 客户额度限制状态
	  * @author  qiuyf
	  * @since 2019年3月13日 下午2:47:18
	  * @version 1.0
	 */
	public enum quotaLmtSts {
		/** 00： 失效  */
		UNEFFECT("00"), 
		/** 01： 生效     */
		EFFECT("01");

		public final String VALUE;

		private quotaLmtSts(String value) {
			this.VALUE = value;
		}
		public String getVALUE() {
			return VALUE;
		}
	}
	
	/**
	  * 客户类型
	  * @author  qiuyf
	  * @since 2019年3月13日 下午2:49:29
	  * @version 1.0
	 */
	public enum cusType {
		/** 01： 企业  */
		ENTERPRISE("01"), 
		/** 02： 个人    */
		PERSONAL("02");

		public final String VALUE;

		private cusType(String value) {
			this.VALUE = value;
		}
		public String getVALUE() {
			return VALUE;
		}
	}
	
	/**
	  * 度小满贷后调额结果回调返回码
	  * @author  qiuyf
	  * @since 2019年3月26日 下午7:17:34
	  * @version 1.0
	 */
	public enum RetCd {
		/** 0：正常接收成功或处理完成  */
		SUCCESS("000000"),
		/** E1000：请求参数非法  */
		REQ_PARAM_ILLEGAL("E1000"),
		/** E1001：重复请求  */
		REQ_REPEAT("E1001"),
		/** E1005：不支持的调用  */
		REQ_NOT_SUPPOR("E1005"),
		/** E1006：正在处理中  */
		REQ_DEALING("E1006"),
		/** E3000：请求来源未经过授权  */
		REQ_NOT_PERMISSION("E3000"),
		/** E1000：接口内部处理失败  */
		INTERFACE_INNER_DEAL_FAIL("E1000"),
		/** E1099：接口内部处理异常  */
		INTERFACE_INNER_DEAL_EXCEPTION("E1099");
		
		public final String value;

		private RetCd(String value) {
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}
	
	/**
	  * 交易模式
	  * @author  qiuyf
	  * @since 2019年3月26日 下午7:26:04
	  * @version 1.0
	 */
	public enum TxnModel {
		/** sync： 异步  */
		SYNC("sync"), 
		/** async：同步    */
		ASYNC("async");

		public final String value;

		private TxnModel(String value) {
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}

	/**
	 * 事务类型
	 * @author  caoxin
	 * @since 2019年3月26日 下午7:26:04
	 * @version 1.0
	 */
	public enum EVTYPE {
		/** apply： 授信*/
		EVTYPE_APPLY("apply"),
		/** transaction：用信 */
		EVTYPE_TRANSACTION("transaction"),
		/** query：查询 */
		EVTYPE_QUERY("query");

		public final String value;

		private EVTYPE(String value) {
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 百度调额原因码
	  * @author  qiuyf
	  * @since 2019年5月5日 下午2:34:58
	  * @version 1.0
	 */
	public enum DxmRefuseMsg{
		EXCESS("DHTE001", "超额"),
		LMT_FAILURED("DHTE002", "该客户额度已失效"),
		PRD_NOT_USE("DHTE003", "该产品已停用"),
		OTHERS("QT0001", "其他");
		
		public final String key;
		public final String value;
		
		private DxmRefuseMsg(String key, String value) {
			this.key = key;
			this.value = value;
		}
		
		public String getKey() {
			return key;
		}
		
		public String getValue() {
			return value;
		}
		
		//通过key获取value
		public static String getValue(String key) {
			for (DxmRefuseMsg descValue : values()) {
				if(descValue.getKey().equals(key)) {
					return descValue.getValue();
				}
			}
			return null;
		}
		
	}
	
}
